home *** CD-ROM | disk | FTP | other *** search
/ Columbia Kermit / kermit.zip / newsgroups / misc.19990422-19990725 / 000133_news@watsun.cc.columbia.edu _Wed Jun 9 12:55:21 1999.msg < prev    next >
Internet Message Format  |  2020-01-01  |  5KB

  1. Return-Path: <news@watsun.cc.columbia.edu>
  2. Received: from newsmaster.cc.columbia.edu (newsmaster.cc.columbia.edu [128.59.59.30])
  3.     by watsun.cc.columbia.edu (8.8.5/8.8.5) with ESMTP id MAA29046
  4.     for <kermit.misc@watsun.cc.columbia.edu>; Wed, 9 Jun 1999 12:55:20 -0400 (EDT)
  5. Received: (from news@localhost)
  6.     by newsmaster.cc.columbia.edu (8.8.5/8.8.5) id MAA22835
  7.     for kermit.misc@watsun.cc.columbia.edu; Wed, 9 Jun 1999 12:52:54 -0400 (EDT)
  8. X-Authentication-Warning: newsmaster.cc.columbia.edu: news set sender to <news> using -f
  9. From: peter@baileynm.com (Peter da Silva)
  10. Subject: Re: ISO VT320 emulator with key-bindings for Oracle Forms
  11. Date: 9 Jun 1999 10:42:49 GMT
  12. Organization: Bailey Network Management
  13. Message-ID: <7jlgf9$8i8@web.nmti.com>
  14. To: kermit.misc@watsun.cc.columbia.edu
  15.  
  16. In article <7jjshc$ere$1@newsmaster.cc.columbia.edu>,
  17. Frank da Cruz <fdc@watsun.cc.columbia.edu> wrote:
  18. >Yes, we know this, but the situation is far, FAR more complex than that.  Try
  19. >writing a communication program for UNIX that is:
  20. >
  21. > a. Portable to many UNIX varieties;
  22. > b. Portable to assorted communication methods;
  23.  
  24. This can be handled by writing it as a wrapper around cu, kermit, tip,
  25. or whatever. That way it'll even work for dumb programs that don't use
  26. termcap.
  27.  
  28. > c. Works on the console, in remote sessions, and in xterm windows.
  29.  
  30. The latter case is not difficult. I wrote a termcap library back in '82,
  31. and a vt100 and televideo emulator a few years later. If the system's 
  32. termcap is broken, you can fall back to that one, and at least one of the
  33. freeware "vi" clones uses my termcap for that very purpose.
  34.  
  35. > a. Buggy;
  36. > b. Inconsistent among different UNIX platforms and versions (e.g. the
  37. >    APIs differ -- even a simple function like tputs() has practically
  38. >    infinite combinations of return type and argument types, thus preventing
  39. >    any program that uses it from being portable without including hundreds
  40. >    of #ifdefs);
  41.  
  42. I haven't run into this problem, and I've written and ported an awful lot of
  43. curses-based code between UNIX systems. Some code did a good job of
  44. encapsulating the slight differences between implemetations of the termlib
  45. API, and other code made no attempt to hide system dependencies and just
  46. scattered ifdefs all over the place. Even otherwise well-written code like
  47. early versions of Kermit had that problem.
  48.  
  49. > c. Dependent on buggy and/or incomplete databases;
  50.  
  51. That's something the end-user can fix.
  52.  
  53. > d. Offer only an incomplete and sketchy model of any real terminal,
  54. >    not even close to sufficient for defining an accurate emulation;
  55.  
  56. My vt100 emulator, which used raw termlib, did a better job of vt100
  57. emulation than most commercial packages.  It didn't try and provide
  58. perfect visuals: double-wide and double-high letters, for example, were
  59. simply not addressed. But it passed the vt100 torture test.
  60.  
  61. > e. Notorious for refusing to work due to library version mismatches;
  62. > f. Sometimes not available at all.
  63.  
  64. That's an easy fix. Same solution as B.
  65.  
  66. >And that in any case, this does not solve the original problem:
  67. >
  68. >  How do I map Shift-Alt-F7 to such-and-such a function?
  69. >
  70. >The answer will still be: "you can't, because the software has no way of
  71. >knowing that you pressed Shift-Alt-F7".
  72.  
  73. With a keyboard mapping file that maps escape sequences to symbols that
  74. the user's interested in.
  75.  
  76. >Furthermore, even when we give up on discovering what key the user actually
  77. >pressed and follow the termcap/terminfo escape-sequence model, we still have
  78. >the age-old problem of distinguishing the case where the user types the Esc
  79. >key and then some other keys (as s/he might do when using EMACS) from the case
  80. >where an escape sequence is generated by curses.
  81.  
  82. Oh yes, that's definitely a problem, but there's nothing any terminal emulator
  83. can resolve, UNIX-based or not, because once it's mapped "UP" into "ESC O A"
  84. or "ESC [ A" the bits on the wire are the same.
  85.  
  86. >If it was easy (or even possible) to write terminal emulators for UNIX, we'd
  87. >have as many of them already floating around as we do for DOS and Windows.
  88.  
  89. Well, most modern UNIX systems come with an X-based VT100 emulator and there's
  90. an X-based 3270 emulator from the same source available. There's not much
  91. demand for curses-based emulators, because almost all UNIX software uses
  92. termlib... the last time I had to configure a UNIX program for a terminal
  93. was for the text editor in Intel's PL/M development kit back around 1984.
  94.  
  95. But there's at least a dozen commercial terminal emulators for UNIX... back
  96. when I wrote my own (so we could run VMS software on our mix of Televideo
  97. and Unisys tubes) I must have looked at six or eight of them just for
  98. Xenix-286 (which was admittedly the #1 selling UNIX at the time). None of
  99. them allowed you to wrap an arbitrary program, alas, and that was a hard
  100. requirement.
  101.  
  102. Since then xterm and x3270 have become what Eric Raymond calls "category
  103. killers". There's little demand for third-party free software alternates,
  104. though that didn't stop rxvt from showing up. And I still get ads in the
  105. mail for things like FacetTerm.
  106.  
  107. -- 
  108. In hoc signo hack, Peter da Silva <peter@baileynm.com>
  109.  `-_-'   Ar rug t∩┐╜ barr∩┐╜g ar do mhact∩┐╜re inniu? 
  110.   'U`    "Be vewy vewy quiet...I'm hunting Jedi." -- Darth Fudd
  111.